//	private void place3dLine(String[] tokens, float r, float g, float b) {
//		tokens = transformedLine(tokens);
//		placingLine(tokens, r, g, b);
//	}
//	private String[] transformedLine(String[] tokens) {
//		String[] tri = tokens;
//		float[][] point1 = {{Float.parseFloat(tri[1])},{Float.parseFloat(tri[2])},{Float.parseFloat(tri[3])},{1}};
//		float[][] point2 = {{Float.parseFloat(tri[4])},{Float.parseFloat(tri[5])},{Float.parseFloat(tri[6])},{1}};
////		currentTransformationMatrix = multiplyMatrix(interactiveXMatrix, currentTransformationMatrix);
////		currentTransformationMatrix = multiplyMatrix(interactiveYMatrix, currentTransformationMatrix);
//		point1 = multiplyMatrix(currentTransformationMatrix, point1);
//		point2 = multiplyMatrix(currentTransformationMatrix, point2);
//		
////		point1 = multiplyMatrix(interactiveXMatrix, point1);
////		point2 = multiplyMatrix(interactiveXMatrix, point2);
////
////		point1 = multiplyMatrix(interactiveYMatrix, point1);
////		point2 = multiplyMatrix(interactiveYMatrix, point2);
//
//		point1 = multiplyMatrix(lookAtMatrix, point1);
//		point2 = multiplyMatrix(lookAtMatrix, point2);
//		
//		point1 = multiplyMatrix(projectionMatrix, point1);
//		point2 = multiplyMatrix(projectionMatrix, point2);
//		tri[1] = point1[0][0]+ "";
//		tri[2] = point1[1][0]+ "";
//		tri[3] = point1[2][0]+ "";
//		tri[4] = point2[0][0]+ "";
//		tri[5] = point2[1][0]+ "";
//		tri[6] = point2[2][0]+ "";
//		
//		return tri;
//	}
//	private void placingLine(String[] tokens, float r, float g, float b) {
//		double startingXS = ((width - 1) * (Float.parseFloat(tokens[1]) + 1)) / 2;
//		double startingYS = ((height - 1) * (Float.parseFloat(tokens[2]) + 1)) / 2;
//		double endingXS = ((width - 1) * (Float.parseFloat(tokens[4]) + 1)) / 2;
//		double endingYS = ((height - 1) * (Float.parseFloat(tokens[5]) + 1)) / 2;
//		line((int) Math.round(startingXS), (int) Math.round(startingYS), (int) Math.round(endingXS), (int) Math.round(endingYS), r, g, b);
//	}
//	private void place3dTri(String[] tokens, float r, float g, float b) throws IOException {
//		if (!pointsOnTriangle.isEmpty()) {
//			pointsOnTriangle.clear();
//		}
//		pixelsActual = new Color[width][height];
//		for (int x = 0; x < width; x++) {
//			for (int y = 0; y < height; y++) {
//				drawPixelActual(x, y, 255, 255, 255);
//			}
//		}
//		tokens = transformedTri(tokens);
////		for(int i = 0; i < scanline.length; i++) {
////			for(int x = 0; x < scanline[0].length; x++) {
////				scanline[i][x] = height+1;
////			}
////		}
//		placingTri(tokens, r, g, b);
//	}
//	private String[] transformedTri(String[] tokens) {
//		String[] tri = tokens;
//		float[][] point1 = {{Float.parseFloat(tri[1])},{Float.parseFloat(tri[2])},{Float.parseFloat(tri[3])},{1}};
//		float[][] point2 = {{Float.parseFloat(tri[4])},{Float.parseFloat(tri[5])},{Float.parseFloat(tri[6])},{1}};
//		float[][] point3 = {{Float.parseFloat(tri[7])},{Float.parseFloat(tri[8])},{Float.parseFloat(tri[9])},{1}};
////		currentTransformationMatrix = multiplyMatrix(interactiveXMatrix, currentTransformationMatrix);
////		currentTransformationMatrix = multiplyMatrix(interactiveYMatrix, currentTransformationMatrix);
//		point1 = multiplyMatrix(currentTransformationMatrix, point1);
//		point2 = multiplyMatrix(currentTransformationMatrix, point2);
//		point3 = multiplyMatrix(currentTransformationMatrix, point3);
//		
////		point1 = multiplyMatrix(interactiveXMatrix, point1);
////		point2 = multiplyMatrix(interactiveXMatrix, point2);
////		point3 = multiplyMatrix(interactiveXMatrix, point3);
////		
////		point1 = multiplyMatrix(interactiveYMatrix, point1);
////		point2 = multiplyMatrix(interactiveYMatrix, point2);
////		point3 = multiplyMatrix(interactiveYMatrix, point3);
//
//		point1 = multiplyMatrix(lookAtMatrix, point1);
//		point2 = multiplyMatrix(lookAtMatrix, point2);
//		point3 = multiplyMatrix(lookAtMatrix, point3);
//		
//		point1 = multiplyMatrix(projectionMatrix, point1);
//		point2 = multiplyMatrix(projectionMatrix, point2);
//		point3 = multiplyMatrix(projectionMatrix, point3);
//		
//		
//		tri[1] = point1[0][0]+ "";
//		tri[2] = point1[1][0]+ "";
//		tri[3] = point1[2][0]+ "";
//		tri[4] = point2[0][0]+ "";
//		tri[5] = point2[1][0]+ "";
//		tri[6] = point2[2][0]+ "";
//		tri[7] = point3[0][0]+ "";
//		tri[8] = point3[1][0]+ "";
//		tri[9] = point3[2][0]+ "";
//		
//		return tri;
//	}
//	private void placingTri(String[] tokens, float r, float g, float b) throws IOException {
//		// Draw the lines that make the triangle
//		drawFirstLine(tokens, r, g, b);
//		drawSecondLine(tokens, r, g, b);
//		drawThirdLine(tokens, r, g, b);
//		// fill in the triangle
//		fillTriangle(tokens, new Color(255, 255, 255), new Color(r, g, b));
//	}
//	private void drawFirstLine(String[] tokens, float r, float g, float b) {
//		double startingXS = ((width - 1) * (Float.parseFloat(tokens[1]) + 1)) / 2;
//		double startingYS = ((height - 1) * (Float.parseFloat(tokens[2]) + 1)) / 2;
//		double endingXS = ((width - 1) * (Float.parseFloat(tokens[4]) + 1)) / 2;
//		double endingYS = ((height - 1) * (Float.parseFloat(tokens[5]) + 1)) / 2;
//		line((int) Math.round(startingXS), (int) Math.round(startingYS), (int) Math.round(endingXS), (int) Math.round(endingYS), r, g, b);
//	}
//	private void drawSecondLine(String[] tokens, float r, float g, float b) {
//		double startingXS = ((width - 1) * (Float.parseFloat(tokens[4]) + 1)) / 2;
//		double startingYS = ((height - 1) * (Float.parseFloat(tokens[5]) + 1)) / 2;
//		double endingXS = ((width - 1) * (Float.parseFloat(tokens[7]) + 1)) / 2;
//		double endingYS = ((height - 1) * (Float.parseFloat(tokens[8]) + 1)) / 2;
//		line((int) Math.round(startingXS), (int) Math.round(startingYS), (int) Math.round(endingXS), (int) Math.round(endingYS), r, g, b);
//	}
//	private void drawThirdLine(String[] tokens, float r, float g, float b) {
//		double startingXS = ((width - 1) * (Float.parseFloat(tokens[7]) + 1)) / 2;
//		double startingYS = ((height - 1) * (Float.parseFloat(tokens[8]) + 1)) / 2;
//		double endingXS = ((width - 1) * (Float.parseFloat(tokens[1]) + 1)) / 2;
//		double endingYS = ((height - 1) * (Float.parseFloat(tokens[2]) + 1)) / 2;
//		line((int) Math.round(startingXS), (int) Math.round(startingYS), (int) Math.round(endingXS), (int) Math.round(endingYS), r, g, b);
//	}
//	private void fillTriangle(String[] tokens, Color targetColor, Color replacementColor) {
//		int line1X = (int) Math.round(((width - 1) * (Float.parseFloat(tokens[1]) + 1)) / 2);
//		int line1Y = (int) Math.round(((height - 1) * (Float.parseFloat(tokens[2]) + 1)) / 2);
//		int line2X = (int) Math.round(((width - 1) * (Float.parseFloat(tokens[4]) + 1)) / 2);
//		int line2Y = (int) Math.round(((height - 1) * (Float.parseFloat(tokens[5]) + 1)) / 2);
//		int line3X = (int) Math.round(((width - 1) * (Float.parseFloat(tokens[7]) + 1)) / 2);
//		int line3Y = (int) Math.round(((height - 1) * (Float.parseFloat(tokens[8]) + 1)) / 2);
//		
//		int lowestXPixel = 0;
//		int highestXPixel = 0;
//		int LowestYPixel = 0;
//		
//		if (line1X <= line2X && line1X <= line3X) {
//			lowestXPixel = line1X;
//		} else
//			if (line2X <= line3X) {
//				lowestXPixel = line2X;
//			} else {
//				lowestXPixel = line3X;
//			}
//		if (line1X >= line2X && line1X >= line3X) {
//			highestXPixel = line1X;
//		} else
//			if (line2X >= line3X) {
//				highestXPixel = line2X;
//			} else {
//				highestXPixel = line3X;
//			}
//		if (line1Y <= line2Y && line1Y <= line3Y) {
//			LowestYPixel = line1Y;
//		} else
//			if (line2Y <= line3Y) {
//				LowestYPixel = line2Y;
//			} else {
//				LowestYPixel = line3Y;
//			}
//		Collections.sort(pointsOnTriangle, new PointCompare());
//		for (int x = lowestXPixel; x < highestXPixel; x++) {
//			int highest = findHighest(x);
//			for (int y = LowestYPixel; y < highest; y++) {
//				if (pixelsActual[x][y].equals(replacementColor)) {
//					if (y + 1 < height) {
//						if (pixelsActual[x][y + 1].equals(targetColor)) {
//							pixelsActual[x][y + 1] = replacementColor;
//							drawPixel(x, y + 1, replacementColor.getRed(), replacementColor.getGreen(), replacementColor.getBlue());
//						}
//					}
//				}
//			}
//		}
//	}
//	private int findHighest(int x) {
//		int y = 0;
//		ArrayList<Integer> yValues = new ArrayList<Integer>();
//		for (int i = 0; i < pointsOnTriangle.size(); i++) {
//			if (pointsOnTriangle.get(i).x == x) {
//				yValues.add(pointsOnTriangle.get(i).y);
//			}
//		}
//		
//		for (int z = 0; z < yValues.size(); z++) {
//			if (yValues.get(z) > y) {
//				y = yValues.get(z);
//			}
//		}
//		return y;
//	}
//	private void placewireFrameCube(float r, float g, float b) throws IOException {
//		float[][] point1 = {{(float) 0.5},{(float) 0.5},{(float) 0.5},{1}};
//		float[][] point2 = {{(float) -0.5},{(float) 0.5},{(float) 0.5},{1}};
//		float[][] point3 = {{(float) 0.5},{(float) -0.5},{(float) 0.5},{1}};
//		float[][] point4 = {{(float) -0.5},{(float) -0.5},{(float) 0.5},{1}};
//		
//		float[][] point5 = {{(float) 0.5},{(float) 0.5},{(float) -0.5},{1}};
//		float[][] point6 = {{(float) -0.5},{(float) 0.5},{(float) -0.5},{1}};
//		float[][] point7 = {{(float) 0.5},{(float) -0.5},{(float) -0.5},{1}};
//		float[][] point8 = {{(float) -0.5},{(float) -0.5},{(float) -0.5},{1}};
////		currentTransformationMatrix = multiplyMatrix(interactiveXMatrix, currentTransformationMatrix);
////		currentTransformationMatrix = multiplyMatrix(interactiveYMatrix, currentTransformationMatrix);
//		point1 = multiplyMatrix(currentTransformationMatrix, point1);
//		point2 = multiplyMatrix(currentTransformationMatrix, point2);
//		point3 = multiplyMatrix(currentTransformationMatrix, point3);
//		point4 = multiplyMatrix(currentTransformationMatrix, point4);
//		point5 = multiplyMatrix(currentTransformationMatrix, point5);
//		point6 = multiplyMatrix(currentTransformationMatrix, point6);
//		point7 = multiplyMatrix(currentTransformationMatrix, point7);
//		point8 = multiplyMatrix(currentTransformationMatrix, point8);
//		
////		point1 = multiplyMatrix(interactiveXMatrix, point1);
////		point2 = multiplyMatrix(interactiveXMatrix, point2);
////		point3 = multiplyMatrix(interactiveXMatrix, point3);
////		point4 = multiplyMatrix(interactiveXMatrix, point4);
////		point5 = multiplyMatrix(interactiveXMatrix, point5);
////		point6 = multiplyMatrix(interactiveXMatrix, point6);
////		point7 = multiplyMatrix(interactiveXMatrix, point7);
////		point8 = multiplyMatrix(interactiveXMatrix, point8);	
////		
////		point1 = multiplyMatrix(interactiveYMatrix, point1);
////		point2 = multiplyMatrix(interactiveYMatrix, point2);
////		point3 = multiplyMatrix(interactiveYMatrix, point3);
////		point4 = multiplyMatrix(interactiveYMatrix, point4);
////		point5 = multiplyMatrix(interactiveYMatrix, point5);
////		point6 = multiplyMatrix(interactiveYMatrix, point6);
////		point7 = multiplyMatrix(interactiveYMatrix, point7);
////		point8 = multiplyMatrix(interactiveYMatrix, point8);	
//		
//		point1 = multiplyMatrix(lookAtMatrix, point1);
//		point2 = multiplyMatrix(lookAtMatrix, point2);
//		point3 = multiplyMatrix(lookAtMatrix, point3);
//		point4 = multiplyMatrix(lookAtMatrix, point4);
//		point5 = multiplyMatrix(lookAtMatrix, point5);
//		point6 = multiplyMatrix(lookAtMatrix, point6);
//		point7 = multiplyMatrix(lookAtMatrix, point7);
//		point8 = multiplyMatrix(lookAtMatrix, point8);
//		
//		point1 = multiplyMatrix(projectionMatrix, point1);
//		point2 = multiplyMatrix(projectionMatrix, point2);
//		point3 = multiplyMatrix(projectionMatrix, point3);
//		point4 = multiplyMatrix(projectionMatrix, point4);
//		point5 = multiplyMatrix(projectionMatrix, point5);
//		point6 = multiplyMatrix(projectionMatrix, point6);
//		point7 = multiplyMatrix(projectionMatrix, point7);
//		point8 = multiplyMatrix(projectionMatrix, point8);
//		//front
//		drawCubeLine(point1[0][0], point1[1][0], point1[2][0], point2[0][0], point2[1][0], point2[2][0], r, g, b);
//		drawCubeLine(point2[0][0], point2[1][0], point2[2][0], point4[0][0], point4[1][0], point4[2][0], r, g, b);
//		drawCubeLine(point4[0][0], point4[1][0], point4[2][0], point3[0][0], point3[1][0], point3[2][0], r, g, b);
//		drawCubeLine(point3[0][0], point3[1][0], point3[2][0], point1[0][0], point1[1][0], point1[2][0], r, g, b);
//		//back
//		drawCubeLine(point5[0][0], point5[1][0], point5[2][0], point6[0][0], point6[1][0], point6[2][0], r, g, b);
//		drawCubeLine(point6[0][0], point6[1][0], point6[2][0], point8[0][0], point8[1][0], point8[2][0], r, g, b);
//		drawCubeLine(point8[0][0], point8[1][0], point8[2][0], point7[0][0], point7[1][0], point7[2][0], r, g, b);
//		drawCubeLine(point7[0][0], point7[1][0], point7[2][0], point5[0][0], point5[1][0], point5[2][0], r, g, b);
//		//sides
//		drawCubeLine(point1[0][0], point1[1][0], point2[2][0], point5[0][0], point5[1][0], point5[2][0], r, g, b);
//		drawCubeLine(point2[0][0], point2[1][0], point2[2][0], point6[0][0], point6[1][0], point6[2][0], r, g, b);
//		drawCubeLine(point4[0][0], point4[1][0], point4[2][0], point8[0][0], point8[1][0], point8[2][0], r, g, b);
//		drawCubeLine(point3[0][0], point3[1][0], point3[2][0], point7[0][0], point7[1][0], point7[2][0], r, g, b);
//
//	}
//	private void drawCubeLine(double x, double y, double z, double x2, double y2, double z2, float r, float g, float b) {
//		double startingXS = ((width - 1) * (x + 1)) / 2;
//		double startingYS = ((height - 1) * (y + 1)) / 2;
//		double endingXS = ((width - 1) * (x2 + 1)) / 2;
//		double endingYS = ((height - 1) * (y2 + 1)) / 2;
//		double xv1 = 0 + ((x+1)/2)*(width - 1 - 0); 
//		double xv2 = 0 + ((x2+1)/2)*(width - 1 - 0); 
//		double yv1 = 0 + ((y+1)/2)*(width - 1 - 0); 
//		double yv2 = 0 + ((y2+1)/2)*(width - 1 - 0); 
//		double zv1 = 0 + ((z+1)/2)*(width - 1 - 0); 
//		double zv2 = 0 + ((z2+1)/2)*(width - 1 - 0); 
//		line((int) Math.round(startingXS), (int) Math.round(startingYS), (int) Math.round(endingXS), (int) Math.round(endingYS), r, g, b);
//	}
//	private void solidCube(float r, float g, float b) throws IOException {
//		float[][] point1 = {{(float) 0.5},{(float) 0.5},{(float) 0.5},{1}};
//		float[][] point2 = {{(float) -0.5},{(float) 0.5},{(float) 0.5},{1}};
//		float[][] point3 = {{(float) 0.5},{(float) -0.5},{(float) 0.5},{1}};
//		float[][] point4 = {{(float) -0.5},{(float) -0.5},{(float) 0.5},{1}};
//		
//		float[][] point5 = {{(float) 0.5},{(float) 0.5},{(float) -0.5},{1}};
//		float[][] point6 = {{(float) -0.5},{(float) 0.5},{(float) -0.5},{1}};
//		float[][] point7 = {{(float) 0.5},{(float) -0.5},{(float) -0.5},{1}};
//		float[][] point8 = {{(float) -0.5},{(float) -0.5},{(float) -0.5},{1}};
////		currentTransformationMatrix = multiplyMatrix(interactiveXMatrix, currentTransformationMatrix);
////		currentTransformationMatrix = multiplyMatrix(interactiveYMatrix, currentTransformationMatrix);
//		point1 = multiplyMatrix(currentTransformationMatrix, point1);
//		point2 = multiplyMatrix(currentTransformationMatrix, point2);
//		point3 = multiplyMatrix(currentTransformationMatrix, point3);
//		point4 = multiplyMatrix(currentTransformationMatrix, point4);
//		point5 = multiplyMatrix(currentTransformationMatrix, point5);
//		point6 = multiplyMatrix(currentTransformationMatrix, point6);
//		point7 = multiplyMatrix(currentTransformationMatrix, point7);
//		point8 = multiplyMatrix(currentTransformationMatrix, point8);
//		
////		point1 = multiplyMatrix(interactiveXMatrix, point1);
////		point2 = multiplyMatrix(interactiveXMatrix, point2);
////		point3 = multiplyMatrix(interactiveXMatrix, point3);
////		point4 = multiplyMatrix(interactiveXMatrix, point4);
////		point5 = multiplyMatrix(interactiveXMatrix, point5);
////		point6 = multiplyMatrix(interactiveXMatrix, point6);
////		point7 = multiplyMatrix(interactiveXMatrix, point7);
////		point8 = multiplyMatrix(interactiveXMatrix, point8);	
////		
////		point1 = multiplyMatrix(interactiveYMatrix, point1);
////		point2 = multiplyMatrix(interactiveYMatrix, point2);
////		point3 = multiplyMatrix(interactiveYMatrix, point3);
////		point4 = multiplyMatrix(interactiveYMatrix, point4);
////		point5 = multiplyMatrix(interactiveYMatrix, point5);
////		point6 = multiplyMatrix(interactiveYMatrix, point6);
////		point7 = multiplyMatrix(interactiveYMatrix, point7);
////		point8 = multiplyMatrix(interactiveYMatrix, point8);	
//		
//		point1 = multiplyMatrix(lookAtMatrix, point1);
//		point2 = multiplyMatrix(lookAtMatrix, point2);
//		point3 = multiplyMatrix(lookAtMatrix, point3);
//		point4 = multiplyMatrix(lookAtMatrix, point4);
//		point5 = multiplyMatrix(lookAtMatrix, point5);
//		point6 = multiplyMatrix(lookAtMatrix, point6);
//		point7 = multiplyMatrix(lookAtMatrix, point7);
//		point8 = multiplyMatrix(lookAtMatrix, point8);
//		
//		point1 = multiplyMatrix(projectionMatrix, point1);
//		point2 = multiplyMatrix(projectionMatrix, point2);
//		point3 = multiplyMatrix(projectionMatrix, point3);
//		point4 = multiplyMatrix(projectionMatrix, point4);
//		point5 = multiplyMatrix(projectionMatrix, point5);
//		point6 = multiplyMatrix(projectionMatrix, point6);
//		point7 = multiplyMatrix(projectionMatrix, point7);
//		point8 = multiplyMatrix(projectionMatrix, point8);
//		//front
//		drawCubeLine(point1[0][0], point1[1][0], point1[2][0], point2[0][0], point2[1][0], point2[2][0], r, g, b);
//		drawCubeLine(point2[0][0], point2[1][0], point2[2][0], point4[0][0], point4[1][0], point4[2][0], r, g, b);
//		drawCubeLine(point4[0][0], point4[1][0], point4[2][0], point3[0][0], point3[1][0], point3[2][0], r, g, b);
//		drawCubeLine(point3[0][0], point3[1][0], point3[2][0], point1[0][0], point1[1][0], point1[2][0], r, g, b);
//		//back
//		drawCubeLine(point5[0][0], point5[1][0], point5[2][0], point6[0][0], point6[1][0], point6[2][0], r, g, b);
//		drawCubeLine(point6[0][0], point6[1][0], point6[2][0], point8[0][0], point8[1][0], point8[2][0], r, g, b);
//		drawCubeLine(point8[0][0], point8[1][0], point8[2][0], point7[0][0], point7[1][0], point7[2][0], r, g, b);
//		drawCubeLine(point7[0][0], point7[1][0], point7[2][0], point5[0][0], point5[1][0], point5[2][0], r, g, b);
//		//sides
//		drawCubeLine(point1[0][0], point1[1][0], point2[2][0], point5[0][0], point5[1][0], point5[2][0], r, g, b);
//		drawCubeLine(point2[0][0], point2[1][0], point2[2][0], point6[0][0], point6[1][0], point6[2][0], r, g, b);
//		drawCubeLine(point4[0][0], point4[1][0], point4[2][0], point8[0][0], point8[1][0], point8[2][0], r, g, b);
//		drawCubeLine(point3[0][0], point3[1][0], point3[2][0], point7[0][0], point7[1][0], point7[2][0], r, g, b);
//
//		//fill triangles on cubes
//		placeCube3dTri(r, g, b);
//	}
//	private void placeCube3dTri(float r, float g, float b) throws IOException {
//		//draws a triangle using point1, point2, and point4
//		String[] triangleFront1 = {"TRI","0.5","0.5","0.5","-0.5","0.5","0.5","-0.5","-0.5","0.5"};
//		//draws a triangle using point1, point3, and point4
//		String[] triangleFront2 = {"TRI","0.5","0.5","0.5","0.5","-0.5","0.5","-0.5","-0.5","0.5"};
//		//draws a triangle using point5, point6, and point8
//		String[] triangleBack1 = {"TRI","0.5","0.5","-0.5","-0.5","0.5","-0.5","-0.5","-0.5","-0.5"};
//		//draws a triangle using point5, point7, and point8
//		String[] triangleBack2 = {"TRI","0.5","0.5","-0.5","0.5","-0.5","-0.5","-0.5","-0.5","-0.5"};
//		//draws a triangle using point2, point6, and point8
//		String[] triangleLeftSide1 = {"TRI","-0.5","0.5","0.5","-0.5","0.5","-0.5","-0.5","-0.5","-0.5"};
//		//draws a triangle using point2, point4, and point8
//		String[] triangleLeftSide2 = {"TRI","-0.5","0.5","0.5","-0.5","-0.5","0.5","-0.5","-0.5","-0.5"};
//		//draws a triangle using point1, point5, and point7
//		String[] triangleRightSide1 = {"TRI","0.5","0.5","0.5","0.5","0.5","-0.5","0.5","-0.5","-0.5"};
//		//draws a triangle using point1, point3, and point7
//		String[] triangleRightSide2 = {"TRI","0.5","0.5","0.5","0.5","-0.5","0.5","0.5","-0.5","-0.5"};
//		//draws a triangle using point1, point2, and point6
//		String[] triangleTop1 = {"TRI","0.5","0.5","0.5","-0.5","0.5","0.5","-0.5","0.5","-0.5"};
//		//draws a triangle using point1, point5, and point6
//		String[] triangleTop2 = {"TRI","0.5","0.5","0.5","0.5","0.5","-0.5","-0.5","0.5","-0.5"};
//		//draws a triangle using point3, point4, and point8
//		String[] triangleBottom1 = {"TRI","0.5","-0.5","0.5","-0.5","-0.5","0.5","-0.5","-0.5","-0.5"};
//		//draws a triangle using point3, point7, and point8
//		String[] triangleBottom2 = {"TRI","0.5","-0.5","0.5","0.5","-0.5","-0.5","-0.5","-0.5","-0.5"};
//		place3dTri(triangleFront1, r, g, b);
//		place3dTri(triangleFront2, r, g, b);
//		place3dTri(triangleBack1, r, g, b);
//		place3dTri(triangleBack2, r, g, b);
//		place3dTri(triangleLeftSide1, r, g, b);
//		place3dTri(triangleLeftSide2, r, g, b);
//		place3dTri(triangleRightSide1, r, g, b);
//		place3dTri(triangleRightSide2, r, g, b);
//		place3dTri(triangleTop1, r, g, b);
//		place3dTri(triangleTop2, r, g, b);
//		place3dTri(triangleBottom1, r, g, b);
//		place3dTri(triangleBottom2, r, g, b);
//	}
//	private void line(int x, int y, int x2, int y2, float r, float g, float b) {
//	int red = (int) (r*255);
//	int green = (int) (g*255);
//	int blue = (int) (b*255);
//	int w = x2 - x;
//	int h = y2 - y;
//	int dx1 = 0, dy1 = 0, dx2 = 0, dy2 = 0;
//	if (w < 0)
//		dx1 = -1;
//	else
//		if (w > 0) dx1 = 1;
//	if (h < 0)
//		dy1 = -1;
//	else
//		if (h > 0) dy1 = 1;
//	if (w < 0)
//		dx2 = -1;
//	else
//		if (w > 0) dx2 = 1;
//	int longest = Math.abs(w);
//	int shortest = Math.abs(h);
//	if (!(longest > shortest)) {
//		longest = Math.abs(h);
//		shortest = Math.abs(w);
//		if (h < 0)
//			dy2 = -1;
//		else
//			if (h > 0) dy2 = 1;
//		dx2 = 0;
//	}
//	int numerator = longest >> 1;
//	for (int i = 0; i <= longest; i++) {
//		drawPixel(x, y, red, green, blue);
//		drawPixelActual(x, y, red, green, blue);
//		pointsOnTriangle.add(new Point(x, y));
//		numerator += shortest;
//		if (!(numerator < longest)) {
//			numerator -= longest;
//			x += dx1;
//			y += dy1;
//		} else {
//			x += dx2;
//			y += dy2;
//		}
//	}
//}